The present invention relates in general to lithographic processes and, more particularly, to a method for correcting a mask layout of an integrated circuit for lithographic processing effects.
The advent of advanced lithographic techniques and the attempt of chip manufacturers to closely follow Moore's law predicting an exponential growth of number of components on a chip and their shrinkage on the wafer is making the process of designing tools for automating the chip design extremely challenging. The chip is imprinted by means of optical lithographic techniques on the silicon wafer by way of chrome on glassmasks. As the components on the chip become smaller, they are now in the verge of reaching the limits of capacity of the lithographic process.
One of the most common problem of printing integrated circuits on silicon wafers from the mask using lithographic processing is the loss of fidelity of the mask shapes. The dimensions of the wafer shapes are usually much smaller than the wavelength of light that is used in the lithographic processing. The non-linearities associated with this lithographic process of imprinting and the laws of physics associated with light (including diffraction of light waves) makes impressing highly unpredictable. For instance, rectangles are foreshortened into elliptical-shapes, right angles are rounded, and the width of the shapes shrinks. In addition to the non-linearity associated with the optical effects, the process of developing after exposing the wafer and the photoactive material (i.e. photoresist, equivalently referred to as resist) thereon also adds to the uncertainty associated with the critical dimensions of the features. Other effects mainly related to the exposure and development effect associated with the resist exist that contribute to the distortions. The wafer shapes get deformed due the diffraction and scattering of light and other related optical and chemical effects of photo-resist materials. The combination of these lithographic processing effects are known as optical proximity effects.
To counter the problem of optical proximity, and increase the fidelity of the wafer printing, mask designers take into account the deformities introduced by the aforementioned lithographic processing effects by intentionally and systematically distorting the original shapes on the mask. The net result of these distortions is that the imprinted shape on the wafer ultimately looks like the target or intended images, satisfying the design rules that were created to achieve the desired yield in chip manufacturing. These methods are generally referred to as optical proximity corrections (OPC) and can be categorized into three classes:
Ad-hoc Method: This method is almost as old as manufacturing VLSI chips. Early designers modified existing methods by putting “flares” and “hammer heads” at the end of lines and “serifs” at the rectangular corners to compensate for the “line-end shortening” and “corner-rounding” due to process irregularities. Since at the early stages in the history of chip manufacturing, the size of the features was still large compared to the wavelength of the light used in the lithographic process, optical proximity effects did not contribute significantly to the total error budget of chip manufacturing. However, as the size of the features have continued to shrink, mask designers have continuously readapted earlier techniques to obtain the desired results. Therefore, though prevalent in the early part of the history of optical proximity effect corrections, there has not been any significant development of these so-called ad-hoc methods.
Rules-Based Method: The rules-based method is an initial attempt to formalize the above ad-hoc method. It was observed by chip designers that any compensation required by a particular shape on the wafer was dependent on neighboring shapes, e.g., an isolated line requires more compensation than a set of dense lines. The rules-based method formalizes this notion in a more quantitative way. For example, a chip designer may use a set of empirically-derived rules to decide what the dimensions of a “hammer-head” are to be added to compensate for line-end shortening or what “corner-serifs” would compensate for corner-rounding. These dimensions can be applied as a function of certain rules as, for instance, those that depend on the particular shape to which it is applied, the distance to the neighbors, and the dimensions of the neighbors. However, the rules are still applied heuristically, and can still lead to inaccurate imaging relative to the desired target image, even when implemented in a computer program.
Model-Based Method: This method, also known as model-based OPC (MBOPC), emulates the physical and optical effects that are mostly responsible for shape deformations. At the heart of these methods is a computer simulation program that, given the appropriate optical and physical parameters and the original dimension of the object on the mask, predicts, with a certain degree of accuracy, the printed dimension of the object on the wafer. In the correction phase of the model-based optical proximity correction (MBOPC), the shape on the mask is iteratively modified so that the resulting output closely approximates what is desired for the image or imprinted shape on the wafer. This method automatically deforms existing mask shapes to achieve the target dimensions on the wafer.
The success of model-based OPC depends on a very accurate simulator that would predict the lithographic processing effects. The simulator predicts the lithographic effect corresponding to selected points on the mask. Based on the simulation, an integrated circuit layout modeler can determine the printed image on the wafer by interpolating selected simulated points. The modeler may also correct the mask shape by modifying the edge segments on the mask based on the simulation done at representative points of a mask segment, typically on the center point of the edge segment. The simulation of the image at points on the mask is computationally very expensive. Therefore, the modeler usually relies on doing the simulation only at certain predetermined or preselected evaluation points. The preselection is done by segmenting the edges of the mask shapes by using certain pre-specified rules.
The preselection of points often make the nature of simulation as a whole unreliable and untrustworthy. This is because often the detailed variations of the wafer image cannot be characterized by simple interpolation of these simulated images done at the preselected evaluation points. The simulation at the preselected segment points often has the problem that more points of simulation than necessary are provided where there is little image variation at the wafer, while having too few points of simulation where there are large image variations.
The current state of the art is shown in FIG. 1. In the current state of the art, the input is a mask layout (101) that is intended to project a desired target image 106. An example of an input mask layout 101 is shown in FIG. 1A. The mask shapes are segmented at a preprocessing stage (Block 102), resulting in segmented mask shapes 103. The resulting mask segmented mask shapes 103 is similar to that illustrated in FIG. 1B. This stage precedes any image simulation (Block 104). After the edges are segmented, the image intensity is simulated typically at a predefined point within each segment only (Block 104). The image at that predefined point of the segment is then compared (Block 105) with the corresponding points of the target image 106. (An example of a target image 106 is shown in FIG. 1C.) If the difference of image intensity at the predefined point of the segments and the corresponding points of the target image 106 is greater than the specified tolerance, segments of the mask are moved away or towards the target shape 106 to compensate for the difference (Block 107). This process is repeated until all the intensity values at the predefined evaluation points of all the segments are within the specified tolerance. At the end the output mask layout 108 is produced. For clarity, the initial mask shapes 101 are illustrated to be the same as the target shapes 106. Initially, the mask shapes 101 may be the same as the target shapes 106. However, after a few OPC iterations (e.g., Blocks 104, 105 and 107), the output mask shapes 108 become different from the target shapes 106. An example of the output mask shape 108 is illustrated in FIG. 1D.
To accelerate the process of convergence during the iterative optical correction process, as described above, the amount of movement of the mask segments at each iteration is controlled by the gradient and curvature of the image intensity profile at the vicinity of the above mentioned predefined evaluation point for each segment. For a given value of intensity I(x, y) at a point (x, y) on the wafer, the gradient and the curvature is defined as follows:
                    The        ⁢                                  ⁢        gradient        ⁢                                  ⁢        is        ⁢                                  ⁢        defined        ⁢                                  ⁢        as                            (        1        )                                                                    (                                                ⅆ                                      I                    ⁡                                          (                                              x                        ,                        y                                            )                                                                                        ⅆ                  x                                            )                        2                    +                                    (                                                ⅆ                                      I                    ⁡                                          (                                              x                        ,                        y                                            )                                                                                        ⅆ                  y                                            )                        2                                                          
where I(x, y) is the image intensity at the predefined point, and where, in this example, the x-direction extends along the directions of segments A and B, and the y-direction is the direction orthogonal to the segments. In order to compute the gradient accurately, a finite difference method is used in the current state of the art tools. In this method, in addition to the computation of the image intensity at the selected point, image intensities at a few more points are also computed. An example of this approach is shown in FIG. 1E. In FIG. 1E, a segmented layout is shown (103). One of the segments (153) has end-points 151 and 152, respectively. The image intensity, as explained above is computed at a predefined evaluation point 160 (preferably the center) for segment 153. The image computed at the preselected evaluation point 160 is assumed to be representative of the segment 153. In addition to the image intensity computed at the predetermined evaluation point 160, the image intensities are computed at a few more points in the vicinity of the evaluation point 160. Referring to FIG. 1E, the region of vicinity is marked by a square box 155 centered around the evaluation point 160 with edges parallel to the x and the y axis (note that for the sake simplicity, it is assumed that the edge 153 is parallel to the x axis). The size of the box 155 is very small compared to the length of the segment 153. For example, if the length 171 of the segment 153 is about 100 nanometers, then the length 170 of a side of the square box 155 (i.e. the vicinity of the evaluation point 160) can be as small as 2 nanometers. The image intensity at the given (predefined) evaluation point 160 is defined as I0. The image intensities of two more points one immediately above and another immediately below (points 161 and 162, respectively) are defined as I1 and I2, respectively. Similarly, the image intensities of two more points one immediately to the right and another immediately to the left of 160 (points 163 and 164, respectively) are defined as 13 and 14, respectively. The distance between the points above and below the given point (along the y-axis) are defined as Δy, and the distance between the points left and right of the given point (along the x-axis) is defined as Δx . Then the gradient is approximated as:
                                                                        (                                                      I1                    -                    I2                                                        Δ                    ⁢                                                                                  ⁢                    y                                                  )                            2                        +                                          (                                                      I3                    -                    I4                                                        Δ                    ⁢                                                                                  ⁢                    x                                                  )                            2                                      .                            (        2        )            
The curvature is defined as:
                                                        (                                                                    ⅆ                    2                                    ⁢                                      I                    ⁡                                          (                                              x                        ,                        y                                            )                                                                                        ⅆ                                      x                    2                                                              )                        2                    +                                    (                                                                    ⅆ                    2                                    ⁢                                      I                    ⁡                                          (                                              x                        ,                        y                                            )                                                                                        ⅆ                                      y                    2                                                              )                        2                                              (        3        )            
The curvature can also be computed by a similar finite difference computation with a few more extra points, as would be understood by one skilled in the art.
In order to compute the curvature one need to consider points 165, 166,167,168 around the point 160 in the box 155, along with the points 161,162,163,164 as previously considered for computing the gradient. The image intensities at these four points are computed as 15, 16, 17, 18, respectively. In this case the curvature may be computed as:
                                                        (                                                                    (                                                                                        I7                        -                        I8                                                                                    )                                    -                                      (                                                                                        I6                        -                        I5                                                                                    )                                                                    Δ                  ⁢                                                                          ⁢                                      x                    2                                                              )                        2                    +                                    (                                                                    (                                                                                        I5                        -                        I8                                                                                    )                                    -                                      (                                                                                        I6                        -                        I7                                                                                    )                                                                    Δ                  ⁢                                                                          ⁢                                      y                    2                                                              )                        2                                              (        4        )            
Note that the above expression in Equation (4) is only one way of approximating the curvature by a finite difference method. Other methods may be used to approximate the curvature. For example, a simpler but less accurate method of computation of gradient using only the aforementioned five points 160 through 164 would be as given in the following equation
                                                        (                                                                    (                                                                                        I1                        -                        I0                                                                                    )                                    -                                      (                                                                                        I0                        -                        I2                                                                                    )                                                                                        (                                          Δ                      ⁢                                                                                          ⁢                                              y                        /                        2                                                              )                                    2                                            )                        2                    +                                    (                                                                    (                                                                                        I3                        -                        I0                                                                                    )                                    -                                      (                                                                                        I0                        -                        I4                                                                                    )                                                                                        (                                          Δ                      ⁢                                                                                          ⁢                                              x                        /                        2                                                              )                                    2                                            )                        2                                              (        5        )            
In a practical simulator the value of Δx and Δy is on the order of a few nanometers. It should be noted that the values of gradient and curvature are computed in current state of the art methods and are thus available for use in the context of the present inventive method and will not require any additional computation for the gradient and curvature to implement the present inventive method.
The problem with the current method is demonstrated in FIGS. 2 through 5. FIG. 2A shows a target image 200 and an input mask shape 201 (which initially has the same shape as the target image 200) and the corresponding output mask shape 208. Note that the target image shape boundary 200 represents the contour of threshold image intensity that is desired in order to print the image. Hereinafter, references to the boundary and shape of an image are used to interchangeably refer to the contour of the threshold image intensity. It also shows the corresponding simulated image 220 (that is, the contour of the aerial image at the threshold intensity required to print the image) on the wafer and then finally superimposes the wafer image 220 on the desired target image 200. The image intensity threshold level is defined by the corresponding lithographic process conditions, including, but not limited to, for example, factors such as the dose-to-clear characteristics of the resist. FIG. 2 shows a portion of a target shape 200 having (straight-edged) boundary 215, which has been divided into edge segments A (having segment boundaries 210, 212), B (having segment boundaries 212, 214), etc. Predetermined evaluation points (e.g. points 310, 320 in segments A, B respectively) are defined for each segment, which are typically chosen to be at the center of a segment. Superimposed on the target shape 200 is the corresponding (simulated) wafer image 220 having (curved-edged) boundary 225. The interior of boundary 225 of the simulated image intensity is defined as the region where the image intensity exceeds a particular threshold intensity level. The current state of the art, the image intensity is typically computed only at the center or some predefined point of the segments A, B, etc. As described above the image gradient and the curvature is also computed along with the image intensity. The OPC algorithm incrementally corrects (Block 107) the mask shapes until the simulated image 220 has a threshold intensity that matches the target image intensity at the points of the target image corresponding to the predetermined evaluation or comparison points 310, 320 of each of the mask segments (See FIG. 3). The conventional OPC correction algorithm ignores image intensities at any point that is between two pre-selected comparison points (e.g. points 310, 320) of adjacent target image segments. As a result of this, one can get severe deviations of the wafer image from the target image. An example of this is shown in FIG. 4.
FIG. 4 shows a target feature 400 having a straight-edged threshold boundary 410 that outlines a large shape 401 adjacent to a narrow shape 403. The simulated image 411 having a (curve-edged) threshold boundary 413 resulting from a mask generated by conventional MBOPC is superimposed on the target image boundary 410. Because of the failure of the current state of the art it creates a necking or constriction, wherein the width of the resulting image WI at the neck region 402 is less than the critical dimension (CD) of the narrow target image shape 403. Sometimes the constriction can become really narrow and pinch-off as shown at the center of the scanning electron microscope (SEM) image in FIG. 5. In FIG. 5, a wide feature 501 (analogous to the wide portion 401 of the target image in FIG. 4) and a narrow feature 503 (analogous to the narrow portion 403 of the target image in FIG. 4) should have been connected at point 502, but in fact has printed as two disconnected shapes due to excessive necking of the image. In the conventional MBOPC, the solution to this problem requires creation of smaller segments throughout the mask and target image, which will improve the accuracy of the simulation and allow the OPC model to modify the mask in the critical neck region. However, in conventional methods, the refined segmentation is performed even in portions of the mask where the resulting image does not vary rapidly (e.g. along the narrow region 213 away from the neck region 222 in FIG. 2A), which can significantly increase computation costs unnecessarily.
Therefore, there is a need for a methodology for designing masks that result in images that match target shapes accurately, but without undue computation time.